import { z } from 'zod';
export type docxV1ToolName =
  | 'docx.v1.chatAnnouncementBlock.batchUpdate'
  | 'docx.v1.chatAnnouncementBlockChildren.batchDelete'
  | 'docx.v1.chatAnnouncementBlockChildren.create'
  | 'docx.v1.chatAnnouncementBlockChildren.get'
  | 'docx.v1.chatAnnouncementBlock.get'
  | 'docx.v1.chatAnnouncementBlock.list'
  | 'docx.v1.chatAnnouncement.get'
  | 'docx.v1.documentBlock.batchUpdate'
  | 'docx.v1.documentBlockChildren.batchDelete'
  | 'docx.v1.documentBlockChildren.create'
  | 'docx.v1.documentBlockChildren.get'
  | 'docx.v1.documentBlockDescendant.create'
  | 'docx.v1.documentBlock.get'
  | 'docx.v1.documentBlock.list'
  | 'docx.v1.documentBlock.patch'
  | 'docx.v1.document.create'
  | 'docx.v1.document.get'
  | 'docx.v1.document.rawContent';
export const docxV1ChatAnnouncementBlockBatchUpdate = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlock.batchUpdate',
  sdkName: 'docx.v1.chatAnnouncementBlock.batchUpdate',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks/batch_update',
  httpMethod: 'PATCH',
  description: '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Block-Batch update blocks in group announcement',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      requests: z
        .array(
          z.object({
            update_text_elements: z
              .object({
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        title: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_notify: z.boolean().optional(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    undefined: z.record(z.any()).optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            update_text_style: z
              .object({
                style: z.object({
                  align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(),OneLevelIndent()')
                    .optional(),
                  sequence: z.string().optional(),
                }),
                fields: z.array(
                  z
                    .number()
                    .describe(
                      'Options:1(align ),2(done ),3(folded ),4(language ),5(wrap ),6(background_color ),7(indentation_level )',
                    ),
                ),
              })
              .optional(),
            update_table_property: z
              .object({
                column_width: z.number().optional(),
                column_index: z.number().optional(),
                header_row: z.boolean().optional(),
                header_column: z.boolean().optional(),
              })
              .optional(),
            insert_table_row: z.object({ row_index: z.number() }).optional(),
            insert_table_column: z.object({ column_index: z.number() }).optional(),
            delete_table_rows: z.object({ row_start_index: z.number(), row_end_index: z.number() }).optional(),
            delete_table_columns: z.object({ column_start_index: z.number(), column_end_index: z.number() }).optional(),
            merge_table_cells: z
              .object({
                row_start_index: z.number(),
                row_end_index: z.number(),
                column_start_index: z.number(),
                column_end_index: z.number(),
              })
              .optional(),
            unmerge_table_cells: z.object({ row_index: z.number(), column_index: z.number() }).optional(),
            insert_grid_column: z.object({ column_index: z.number() }).optional(),
            delete_grid_column: z.object({ column_index: z.number() }).optional(),
            update_grid_column_width_ratio: z.object({ width_ratios: z.array(z.number()) }).optional(),
            replace_image: z
              .object({
                token: z.string(),
                width: z.number().optional(),
                height: z.number().optional(),
                align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
              })
              .optional(),
            replace_file: z.object({ token: z.string() }).optional(),
            block_id: z.string().optional(),
            update_text: z
              .object({
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        title: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_notify: z.boolean().optional(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    undefined: z.record(z.any()).optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
                style: z.object({
                  align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(),OneLevelIndent()')
                    .optional(),
                  sequence: z.string().optional(),
                }),
                fields: z.array(
                  z
                    .number()
                    .describe(
                      'Options:1(align ),2(done ),3(folded ),4(language ),5(wrap ),6(background_color ),7(indentation_level )',
                    ),
                ),
              })
              .optional(),
            update_task: z.object({ task_id: z.string().optional(), folded: z.boolean().optional() }).optional(),
          }),
        )
        .optional(),
    }),
    params: z.object({
      revision_id: z.number().optional(),
      client_token: z.string().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({ chat_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementBlockChildrenBatchDelete = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlockChildren.batchDelete',
  sdkName: 'docx.v1.chatAnnouncementBlockChildren.batchDelete',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks/:block_id/children/batch_delete',
  httpMethod: 'DELETE',
  description:
    '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Block-Delete blocks in group announcement-Deletes a batch of children blocks for a given parent block at a specific location. The return value of this API is the revision ID of the group announcement after the deletion',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      start_index: z.number().describe('Deleted starting index (operation interval left closed right open)'),
      end_index: z.number().describe('Deleted end index (operation interval left closed right open)'),
    }),
    params: z.object({
      revision_id: z
        .number()
        .describe(
          'The group announcement version to be queried. -1 indicates the latest version of the group announcement. Once the group announcement is created, the `revision_id` is 1. Make sure you have editing permission for the group announcement. You can use the  api to get the latest revision ID',
        )
        .optional(),
      client_token: z
        .string()
        .describe(
          'The unique identifier of the operation, corresponding to the `client_token` returned by the API. It is used for idempotent update operations. When this value is null, a new request will be initiated; when this value is not null, idempotent updates will be performed',
        )
        .optional(),
    }),
    path: z.object({
      chat_id: z
        .string()
        .describe(
          'Group ID. How to get it:- , get the chat_id of the group from the returned result.- Call the  interface to query the chat_id of the group that the user or robot is in.- Call the  to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Single chat (group type is `p2p`) does not support getting group announcements',
        ),
      block_id: z
        .string()
        .describe(
          'The unique identifier of the parent block. You can get the block_id of the block by calling the  API.** Note**:- This API does not support deleting the rows and columns of the table and deleting the columns of the Grid. You need to complete the relevant operations through the  API.This API does not support deleting all child blocks of Table Cells, Grid Columns, and Callouts',
        ),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementBlockChildrenCreate = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlockChildren.create',
  sdkName: 'docx.v1.chatAnnouncementBlockChildren.create',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks/:block_id/children',
  httpMethod: 'POST',
  description: '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Block-Create blocks in group announcement',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      children: z
        .array(
          z.object({
            block_type: z
              .number()
              .describe(
                'Options:1(Page ),2(Text ),3(Heading1 ),4(Heading2 ),5(Heading3 ),6(Heading4 ),7(Heading5 ),8(Heading6 ),9(Heading7 ),10(Heading8 ),11(Heading9 ),12(Bullet ),13(Ordered ),14(Code ),15(Quote ),17(Todo ),18(Bitable ),19(Callout ),20(ChatCard ),21(Diagram ),22(Divider ),23(File ),24(Grid ),25(GridColumn ),26(Iframe ),27(Image ),28(ISV ),29(Mindnote ),30(Sheet ),31(Table ),32(TableCell ),33(View ),34(QuoteContainer ),35(Task ),36(Okr ),37(OkrObjective ),38(OkrKeyResult ),39(OkrProgress ),40(AddOns ),41(JiraIssue ),42(WikiCatalog ),43(Board ),44(Agenda ),45(AgendaItem ),46(AgendaItemTitle ),47(AgendaItemContent ),48(LinkPreview ),999(Undefined )',
              ),
            text: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading1: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading2: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading3: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading4: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading5: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading6: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading7: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading8: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            heading9: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            bullet: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            ordered: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            code: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            quote: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            equation: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            todo: z
              .object({
                style: z
                  .object({
                    align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                    done: z.boolean().optional(),
                    folded: z.boolean().optional(),
                    language: z
                      .number()
                      .describe(
                        'Options:1(PlainText ),2(ABAP ),3(Ada ),4(Apache ),5(Apex ),6(AssemblyLanguage ),7(Bash ),8(CSharp ),9(CPlusPlus ),10(C ),11(COBOL ),12(CSS ),13(CoffeeScript ),14(D ),15(Dart ),16(Delphi ),17(Django ),18(Dockerfile ),19(Erlang ),20(Fortran ),21(FoxPro ),22(Go ),23(Groovy ),24(HTML ),25(HTMLBars ),26(HTTP ),27(Haskell ),28(JSON ),29(Java ),30(JavaScript ),31(Julia ),32(Kotlin ),33(LateX ),34(Lisp ),35(Logo ),36(Lua ),37(MATLAB ),38(Makefile ),39(Markdown ),40(Nginx ),41(ObjectiveC ),42(OpenEdgeABL ),43(PHP ),44(Perl ),45(PostScript ),46(PowerShell ),47(Prolog ),48(ProtoBuf ),49(Python ),50(R ),51(RPG ),52(Ruby ),53(Rust ),54(SAS ),55(SCSS ),56(SQL ),57(Scala ),58(Scheme ),59(Scratch ),60(Shell ),61(Swift ),62(Thrift ),63(TypeScript ),64(VBScript ),65(VisualBasic ),66(XML ),67(YAML ),68(CMake ),69(Diff ),70(Gherkin ),71(GraphQL ),72(OpenGLShadingLanguage ),73(Properties ),74(Solidity ),75(TOML )',
                      )
                      .optional(),
                    wrap: z.boolean().optional(),
                    background_color: z
                      .enum([
                        'LightGrayBackground',
                        'LightRedBackground',
                        'LightOrangeBackground',
                        'LightYellowBackground',
                        'LightGreenBackground',
                        'LightBlueBackground',
                        'LightPurpleBackground',
                        'PaleGrayBackground',
                        'DarkGrayBackground',
                        'DarkRedBackground',
                        'DarkOrangeBackground',
                        'DarkYellowBackground',
                        'DarkGreenBackground',
                        'DarkBlueBackground',
                        'DarkPurpleBackground',
                      ])
                      .describe(
                        'Options:LightGrayBackground(),LightRedBackground(),LightOrangeBackground(),LightYellowBackground(),LightGreenBackground(),LightBlueBackground(),LightPurpleBackground(),PaleGrayBackground(),DarkGrayBackground(),DarkRedBackground(),DarkOrangeBackground(),DarkYellowBackground(),DarkGreenBackground(),DarkBlueBackground(),DarkPurpleBackground()',
                      )
                      .optional(),
                    indentation_level: z
                      .enum(['NoIndent', 'OneLevelIndent'])
                      .describe('Options:NoIndent(),OneLevelIndent()')
                      .optional(),
                  })
                  .optional(),
                elements: z.array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc ),3(Sheet ),8(Bitable ),11(MindNote ),12(File ),15(Slide ),16(Wiki ),22(Docx )',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightGray ),8(DarkPink ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkGray ),15(DarkSlightGray )',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                ),
              })
              .optional(),
            bitable: z.object({ view_type: z.number().describe('Options:1(Grid ),2(Kanban )').optional() }).optional(),
            callout: z
              .object({
                background_color: z
                  .number()
                  .describe(
                    'Options:1(LightRed ),2(LightOrange ),3(LightYellow ),4(LightGreen ),5(LightBlue ),6(LightPurple ),7(LightNeutral ),8(DarkRed ),9(DarkOrange ),10(DarkYellow ),11(DarkGreen ),12(DarkBlue ),13(DarkPurple ),14(DarkNeutral ),15(DarkSlightGray )',
                  )
                  .optional(),
                border_color: z
                  .number()
                  .describe('Options:1(Red ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Neutral )')
                  .optional(),
                text_color: z
                  .number()
                  .describe('Options:1(Pink ),2(Orange ),3(Yellow ),4(Green ),5(Blue ),6(Purple ),7(Gray )')
                  .optional(),
              })
              .optional(),
            chat_card: z
              .object({
                chat_id: z.string(),
                align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
              })
              .optional(),
            divider: z.record(z.any()).optional(),
            file: z.object({ view_type: z.number().describe('Options:1(Card ),2(Preview )').optional() }).optional(),
            grid: z.object({ column_size: z.number() }).optional(),
            iframe: z
              .object({
                component: z.object({
                  iframe_type: z
                    .number()
                    .describe(
                      'Options:1(Bilibili ),2(XiGua ),3(Youku ),4(Airtable ),5(BaiduMap ),6(Amap ),7(TikTok ),8(Figma ),9(Modao ),10(Canva ),11(CodePen ),12(FeiShuWenJuan ),13(JinShuJu ),14(GoogleMap ),15(Youtube ),99(Other )',
                    )
                    .optional(),
                  url: z.string(),
                }),
              })
              .optional(),
            image: z
              .object({ align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional() })
              .optional(),
            isv: z.record(z.any()).optional(),
            add_ons: z
              .object({
                component_id: z.string().optional(),
                component_type_id: z.string(),
                record: z.string().optional(),
              })
              .optional(),
            sheet: z.object({ row_size: z.number().optional(), column_size: z.number().optional() }).optional(),
            table: z
              .object({
                property: z.object({
                  row_size: z.number(),
                  column_size: z.number(),
                  column_width: z.array(z.number()).optional(),
                  merge_info: z
                    .array(z.object({ row_span: z.number().optional(), col_span: z.number().optional() }))
                    .optional(),
                  header_row: z.boolean().optional(),
                  header_column: z.boolean().optional(),
                }),
              })
              .optional(),
            quote_container: z.record(z.any()).optional(),
            task: z.object({ folded: z.boolean().optional() }).optional(),
            okr: z
              .object({
                okr_id: z.string().optional(),
                objectives: z
                  .array(z.object({ objective_id: z.string().optional(), kr_ids: z.array(z.string()).optional() }))
                  .optional(),
              })
              .optional(),
            comment_ids: z.array(z.string()).optional(),
            wiki_catalog: z.object({ wiki_token: z.string().optional() }).optional(),
            board: z
              .object({
                align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
                width: z.number().optional(),
                height: z.number().optional(),
              })
              .optional(),
            link_preview: z
              .object({
                url: z.string(),
                url_type: z.enum(['MessageLink', 'Undefined']).describe('Options:MessageLink(),Undefined()'),
              })
              .optional(),
          }),
        )
        .optional(),
      index: z.number().optional(),
    }),
    params: z.object({
      revision_id: z.number().optional(),
      client_token: z.string().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({ chat_id: z.string(), block_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementBlockChildrenGet = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlockChildren.get',
  sdkName: 'docx.v1.chatAnnouncementBlockChildren.get',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks/:block_id/children',
  httpMethod: 'GET',
  description: '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Block-Obtain all the child blocks',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      revision_id: z.number().optional(),
      page_token: z.string().optional(),
      page_size: z.number().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({ chat_id: z.string(), block_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementBlockGet = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlock.get',
  sdkName: 'docx.v1.chatAnnouncementBlock.get',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks/:block_id',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Block-Obtain the block content in group announcement',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      revision_id: z.number().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({ chat_id: z.string(), block_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementBlockList = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncementBlock.list',
  sdkName: 'docx.v1.chatAnnouncementBlock.list',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement/blocks',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Group announcement-Obtain all blocks of a group announcement',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      page_size: z.number().optional(),
      page_token: z.string().optional(),
      revision_id: z.number().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({ chat_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1ChatAnnouncementGet = {
  project: 'docx',
  name: 'docx.v1.chatAnnouncement.get',
  sdkName: 'docx.v1.chatAnnouncement.get',
  path: '/open-apis/docx/v1/chats/:chat_id/announcement',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Group Chat-Upgraded Group announcement-Group announcement-Obtain the basic information of a group announcement-Obtain the basic information of the specified group announcement',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional() }),
    path: z.object({
      chat_id: z
        .string()
        .describe(
          'Group ID. How to get it:- , get the chat_id of the group from the returned result.- Call the  interface to query the chat_id of the group that the user or robot is in.- Call the  to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Single chat (group type is `p2p`) does not support getting group announcements',
        ),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockBatchUpdate = {
  project: 'docx',
  name: 'docx.v1.documentBlock.batchUpdate',
  sdkName: 'docx.v1.documentBlock.batchUpdate',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/batch_update',
  httpMethod: 'PATCH',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Batch update blocks-Batch update the specified block and return its updated rich text content',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      requests: z
        .array(
          z.object({
            update_text_elements: z
              .object({
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          title: z.string().describe('The title of the referenced document').optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_notify: z.boolean().describe('Whether to notify').optional(),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          notify_time: z.string().describe('Time to trigger notification (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      undefined: z.record(z.any()).describe('Unsupported TextElements').optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe(
                    'Updated text element list, a single update reminder limit of 30, mention_doc limit of 50, mention_user limit of 100',
                  ),
              })
              .describe('Update text element request')
              .optional(),
            update_text_style: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style'),
                fields: z
                  .array(
                    z
                      .number()
                      .describe(
                        'Options:1(align Modify Block Alignment),2(done Modify todo block completion status),3(folded Modify the folded state of the block),4(language Modify the language type of the code block),5(wrap Modify the collapsed state of code blocks)',
                      ),
                  )
                  .describe(
                    'Fields that should be updated must specify at least one field. For example, to adjust Block alignment, set fields to [1]',
                  ),
              })
              .describe('Update text style request')
              .optional(),
            update_table_property: z
              .object({
                column_width: z.number().describe('Table column width'),
                column_index: z.number().describe('Index of table columns whose column width needs to be modified'),
              })
              .describe('Update table property request')
              .optional(),
            insert_table_row: z
              .object({
                row_index: z
                  .number()
                  .describe(
                    'The index of the inserted row in the table. (-1 means to insert a row at the end of the table)',
                  ),
              })
              .describe('Table insert new row request')
              .optional(),
            insert_table_column: z
              .object({
                column_index: z
                  .number()
                  .describe(
                    'The index of the inserted column in the table. (-1 means to insert a column at the end of the table)',
                  ),
              })
              .describe('Table insert new column request')
              .optional(),
            delete_table_rows: z
              .object({
                row_start_index: z.number().describe('Row start index (interval closed left and right open)'),
                row_end_index: z.number().describe('Row end index (interval closed left and right open)'),
              })
              .describe('Table batch delete row request')
              .optional(),
            delete_table_columns: z
              .object({
                column_start_index: z.number().describe('Column start index (interval closed left and right open)'),
                column_end_index: z.number().describe('Column end index (interval closed left and right open)'),
              })
              .describe('Table batch delete column request')
              .optional(),
            merge_table_cells: z
              .object({
                row_start_index: z.number().describe('Row start index (interval closed left and right open)'),
                row_end_index: z.number().describe('Row end index (interval closed left and right open)'),
                column_start_index: z.number().describe('Column start index (interval closed left and right open)'),
                column_end_index: z.number().describe('Column end index (interval closed left and right open)'),
              })
              .describe('Table merge cell request')
              .optional(),
            unmerge_table_cells: z
              .object({
                row_index: z.number().describe('Table row index'),
                column_index: z.number().describe('Table column index'),
              })
              .describe('Table Cancel Cell Merge Status Request')
              .optional(),
            insert_grid_column: z
              .object({
                column_index: z
                  .number()
                  .describe(
                    'Insert the column index, starting from 1, such as 1 means inserting after the first column, note that 0 is not allowed (-1 means inserting after the last column)',
                  ),
              })
              .describe('Column insert new column request')
              .optional(),
            delete_grid_column: z
              .object({
                column_index: z
                  .number()
                  .describe(
                    'Delete the column index, starting from 0, if 0 means deleting the first column (-1 means deleting the last column)',
                  ),
              })
              .describe('Column deletion request')
              .optional(),
            update_grid_column_width_ratio: z
              .object({
                width_ratios: z
                  .array(z.number())
                  .describe('When updating the column width ratio, you need to pass in all column width ratios'),
              })
              .describe('Update column width ratio request')
              .optional(),
            replace_image: z
              .object({ token: z.string().describe('Picture token') })
              .describe('Replace image request')
              .optional(),
            replace_file: z
              .object({ token: z.string().describe('Attachment token') })
              .describe('Request for replacement attachment')
              .optional(),
            block_id: z.string().describe('Block unique identification').optional(),
            update_text: z
              .object({
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          title: z.string().describe('The title of the referenced document').optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_notify: z.boolean().describe('Whether to notify').optional(),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          notify_time: z.string().describe('Time to trigger notification (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      undefined: z.record(z.any()).describe('Unsupported TextElements').optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe(
                    'Updated list of text elements, up to 30 reminders, up to 50 mention_doc, and up to 100 mention_user in a single update',
                  ),
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Updated text style'),
                fields: z
                  .array(
                    z
                      .number()
                      .describe(
                        'Options:1(align Modify the alignment of blocks),2(done Modify the completion status of the todo block),3(folded Modify the collapsed state of the block),4(language Modify the language type of the code block),5(wrap Modify the collapsed state of the code block)',
                      ),
                  )
                  .describe(
                    'Fields in the text style that should be updated must specify at least one field. For example, to adjust Block alignment, set fields to [1]',
                  ),
              })
              .describe('Update text elements and style requests')
              .optional(),
          }),
        )
        .describe('Batch update block requests'),
    }),
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the operation, -1 indicates the latest version of the document. If the version of the operation at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the operation at this time is the historical version of the document, you need to hold the edit permission of the document',
        )
        .optional(),
      client_token: z
        .string()
        .describe(
          'The unique identifier of the operation, corresponding to the client_token of the interface return value, is used for idempotent update operations. This value is null to indicate that a new request will be initiated, and this value is not null to indicate idempotent update operations',
        )
        .optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        )
        .optional(),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockChildrenBatchDelete = {
  project: 'docx',
  name: 'docx.v1.documentBlockChildren.batchDelete',
  sdkName: 'docx.v1.documentBlockChildren.batchDelete',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id/children/batch_delete',
  httpMethod: 'DELETE',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Delete blocks-Specifies the block that needs to be manipulated, deletes its specified range of children blocks, and returns the version of the document with the action applied.We can regard the Upgraded Docs as a block tree, and the deleted block can be regarded as the child of its parent block, that is, it is clear that the block to be deleted is the first child of its parent block, and then this API is called to delete it',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      start_index: z.number().describe('Deleted starting index (operation interval left closed and right open)'),
      end_index: z.number().describe('Deleted end index (operation range left closed and right open)'),
    }),
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the operation, -1 indicates the latest version of the document. If the version of the operation at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the operation at this time is the historical version of the document, you need to hold the edit permission of the document',
        )
        .optional(),
      client_token: z
        .string()
        .describe(
          'The unique identifier of the operation, corresponding to the client_token of the interface return value, is used for idempotent update operations. This value is null to indicate that a new request will be initiated, and this value is not null to indicate idempotent update operations',
        )
        .optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
      block_id: z.string().describe("Parent block's unique identity"),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockChildrenCreate = {
  project: 'docx',
  name: 'docx.v1.documentBlockChildren.create',
  sdkName: 'docx.v1.documentBlockChildren.create',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id/children',
  httpMethod: 'POST',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Create blocks-Creates a batch of children blocks for a given block and inserts them at a specific location. The return value of this API is the rich text content of the newly created children blocks',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      children: z
        .array(
          z.object({
            block_type: z
              .number()
              .describe(
                'Block Type Options:1(Page Page Block),2(Text Text Block),3(Heading1 Block 1),4(Heading2 Block 2),5(Heading3 Block 3),6(Heading4 Block 4),7(Heading5 Block 5),8(Heading6 Block 6),9(Heading7 Block 7),10(Heading8 Block 8),11(Heading9 Block 9),12(Bullet Unordered List Block),13(Ordered Block numbered list),14(Code Code Block),15(Quote Reference Block),17(Todo To-do Block),18(Bitable Smartable Block),19(Callout Highlight Block),20(ChatCard Session Card Block),21(Diagram Flowchart & UML Block),22(Divider Divider line Block),23(File File Block),24(Grid Column Block),25(GridColumn Column Block),26(Iframe Embedded Block Block),27(Image Picture Block),28(ISV Open platform widget Block),29(Mindnote Thinking Note Block),30(Sheet Spreadsheet Block),31(Table Form Block),32(TableCell Table Cell Block),33(View View Block),34(QuoteContainer Quote Container Block),35(Task Task Block),36(Okr OKR Block),37(OkrObjective OKR Objective Block),38(OkrKeyResult OKR Key Result Block),39(OkrProgress OKR progress Block),40(AddOns Add-Ons Block),999(Undefined Blocks not supported)',
              ),
            text: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Text Block')
              .optional(),
            heading1: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Title Block')
              .optional(),
            heading2: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Secondary Title Block')
              .optional(),
            heading3: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Three-level Title Block')
              .optional(),
            heading4: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 4 Title Block')
              .optional(),
            heading5: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 5 Title Block')
              .optional(),
            heading6: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 6 Title Block')
              .optional(),
            heading7: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 7 Title Block')
              .optional(),
            heading8: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 8 Title Block')
              .optional(),
            heading9: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Level 9 Title Block')
              .optional(),
            bullet: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Unordered List Block')
              .optional(),
            ordered: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Block numbered list')
              .optional(),
            code: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Code Block')
              .optional(),
            quote: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Reference Block')
              .optional(),
            equation: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Formula Block')
              .optional(),
            todo: z
              .object({
                style: z
                  .object({
                    align: z
                      .number()
                      .describe(
                        'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                      )
                      .optional(),
                    done: z.boolean().describe('Todo completion status').optional(),
                    folded: z.boolean().describe('Folded state of text').optional(),
                    language: z
                      .number()
                      .describe(
                        'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                      )
                      .optional(),
                    wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
                  })
                  .describe('Text style')
                  .optional(),
                elements: z
                  .array(
                    z.object({
                      text_run: z
                        .object({
                          content: z.string().describe('Text content'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text local style')
                            .optional(),
                        })
                        .describe('Text')
                        .optional(),
                      mention_user: z
                        .object({
                          user_id: z.string().describe('User OpenID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@User')
                        .optional(),
                      mention_doc: z
                        .object({
                          token: z.string().describe('Cloud document token'),
                          obj_type: z
                            .number()
                            .describe(
                              'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                            ),
                          url: z.string().describe('Cloud document link (url_encode)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('@Document')
                        .optional(),
                      reminder: z
                        .object({
                          create_user_id: z.string().describe('Creator user ID'),
                          is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                          expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Date Reminder')
                        .optional(),
                      file: z
                        .object({
                          file_token: z.string().describe('Attachment token').optional(),
                          source_block_id: z
                            .string()
                            .describe('The id of the block in which the attachment is located in the current document')
                            .optional(),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Internal connection accessories')
                        .optional(),
                      inline_block: z
                        .object({
                          block_id: z.string().describe('Block ID'),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Inline block')
                        .optional(),
                      equation: z
                        .object({
                          content: z
                            .string()
                            .describe(
                              'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                            ),
                          text_element_style: z
                            .object({
                              bold: z.boolean().describe('Bold').optional(),
                              italic: z.boolean().describe('Italic').optional(),
                              strikethrough: z.boolean().describe('Strikeout line').optional(),
                              underline: z.boolean().describe('Underline').optional(),
                              inline_code: z.boolean().describe('Inline code').optional(),
                              background_color: z
                                .number()
                                .describe(
                                  'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                                )
                                .optional(),
                              text_color: z
                                .number()
                                .describe(
                                  'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                                )
                                .optional(),
                              link: z
                                .object({
                                  url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                                })
                                .describe('Link')
                                .optional(),
                              comment_ids: z
                                .array(z.string())
                                .describe(
                                  'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                                )
                                .optional(),
                            })
                            .describe('Text element style')
                            .optional(),
                        })
                        .describe('Equation')
                        .optional(),
                    }),
                  )
                  .describe('Text element'),
              })
              .describe('Task Block')
              .optional(),
            bitable: z
              .object({ view_type: z.number().describe('Type Options:1(Grid Data sheet),2(Kanban)').optional() })
              .describe('Smartable Block')
              .optional(),
            callout: z
              .object({
                background_color: z
                  .number()
                  .describe(
                    'Highlight block background color Options:1(LightRed Light red),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightNeutral Light grey),8(DarkRed Dark red),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkNeutral Dark gray),15(DarkSlightGray Dark slight gray)',
                  )
                  .optional(),
                border_color: z
                  .number()
                  .describe(
                    'Border color Options:1(Red),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Neutral Grey)',
                  )
                  .optional(),
                text_color: z
                  .number()
                  .describe('Text color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)')
                  .optional(),
              })
              .describe('Highlight Block')
              .optional(),
            chat_card: z
              .object({
                chat_id: z.string().describe('Group chat session ID'),
                align: z
                  .number()
                  .describe(
                    'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                  )
                  .optional(),
              })
              .describe('Group Chat Card Block')
              .optional(),
            divider: z.record(z.any()).describe('Divider line Block').optional(),
            file: z.record(z.any()).describe('File Block').optional(),
            grid: z
              .object({ column_size: z.number().describe('Number of columns') })
              .describe('Column Block')
              .optional(),
            iframe: z
              .object({
                component: z
                  .object({
                    iframe_type: z
                      .number()
                      .describe(
                        'Iframe Type Options:1(Bilibili),2(XiGua Xigua Video),3(Youku),4(Airtable),5(BaiduMap Baidu Map),6(Amap Autonavi Map),7(TikTok Undefined),8(Figma),9(Modao Ink knife),10(Canva),11(CodePen),12(FeiShuWenJuan Feishu Survey),13(JinShuJu Gold data),14(GoogleMap Undefined),15(Youtube Undefined),99(Other)',
                      )
                      .optional(),
                    url: z.string().describe('Iframe target url (requires url_encode)'),
                  })
                  .describe('Component elements of iframe'),
              })
              .describe('Embedded Block')
              .optional(),
            image: z.record(z.any()).describe('Picture Block').optional(),
            isv: z.record(z.any()).describe('Tripartite Block').optional(),
            add_ons: z
              .object({
                component_id: z.string().describe('Document widget ID').optional(),
                component_type_id: z
                  .string()
                  .describe('Document widget types, such as Q & A interactive "blk_636a0a6657db8001c8df5488"'),
                record: z.string().describe('Document widget content data, JSON string').optional(),
              })
              .describe('Add-ons')
              .optional(),
            sheet: z
              .object({
                row_size: z.number().describe('Number of spreadsheet rows').optional(),
                column_size: z.number().describe('Number of spreadsheet columns').optional(),
              })
              .describe('Spreadsheet Block')
              .optional(),
            table: z
              .object({
                property: z
                  .object({
                    row_size: z.number().describe('Number of rows'),
                    column_size: z.number().describe('Number of columns'),
                    merge_info: z
                      .array(
                        z.object({
                          row_span: z
                            .number()
                            .describe('Number of consecutive rows merged from the current line')
                            .optional(),
                          col_span: z
                            .number()
                            .describe('Number of consecutive columns that are merged from the current pristine')
                            .optional(),
                        }),
                      )
                      .describe(
                        'Cell merge information. This property is read-only when creating a table and is generated by the backend. If you need to merge cells, you can do so by using the subrequest merge_table_cells of the Update Block api',
                      )
                      .optional(),
                  })
                  .describe('Table Properties'),
              })
              .describe('Form Block')
              .optional(),
            quote_container: z.record(z.any()).describe('Quote Container Block').optional(),
            okr: z
              .object({
                okr_id: z
                  .string()
                  .describe(
                    "OKR ID. Get the OKR ID that needs to be inserted and see ",
                  )
                  .optional(),
                objectives: z
                  .array(
                    z.object({
                      objective_id: z.string().describe('Objective ID in OKR').optional(),
                      kr_ids: z
                        .array(z.string())
                        .describe(
                          'List of IDs of key results, insert all key results under the current objective when kr_ids is null or empty',
                        )
                        .optional(),
                    }),
                  )
                  .describe(
                    'The objective ID and key result ID in the OKR Block, insert all objective and key result under okr when objectives is null',
                  )
                  .optional(),
              })
              .describe('OKR blocks. It can only be created when using Authorization with `user_access_token`')
              .optional(),
            comment_ids: z.array(z.string()).describe('Comment ids').optional(),
          }),
        )
        .describe('Add a list of children')
        .optional(),
      index: z
        .number()
        .describe(
          'The insertion position of the current block in children, the starting value is 0, and the maximum value is the original length of children',
        )
        .optional(),
    }),
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the operation, -1 indicates the latest version of the document. If the version of the operation at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the operation at this time is the historical version of the document, you need to hold the edit permission of the document',
        )
        .optional(),
      client_token: z
        .string()
        .describe(
          'The unique identifier of the operation, corresponding to the client_token of the interface return value, is used for idempotent update operations. This value is null to indicate that a new request will be initiated, and this value is not null to indicate idempotent update operations',
        )
        .optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
      block_id: z.string().describe("Block's unique identity"),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockChildrenGet = {
  project: 'docx',
  name: 'docx.v1.documentBlockChildren.get',
  sdkName: 'docx.v1.documentBlockChildren.get',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id/children',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Obtain all the child blocks-Query the Children Block of the specified Block',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the operation, -1 indicates the latest version of the document. If the version of the operation at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the operation at this time is the historical version of the document, you need to hold the edit permission of the document',
        )
        .optional(),
      page_token: z.string().optional(),
      page_size: z.number().optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
      block_id: z.string().describe("Block's unique identity"),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockDescendantCreate = {
  project: 'docx',
  name: 'docx.v1.documentBlockDescendant.create',
  sdkName: 'docx.v1.documentBlockDescendant.create',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id/descendant',
  httpMethod: 'POST',
  description: '[Feishu/Lark]-Docs-Document-Block-Create nested blocks',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      children_id: z.array(z.string()),
      index: z.number().optional(),
      descendants: z.array(
        z.object({
          block_id: z.string().optional(),
          children: z.array(z.string()).optional(),
          block_type: z
            .number()
            .describe(
              'Options:1(Page 页面 Block),2(Text 文本 Block),3(Heading1 标题 1 Block),4(Heading2 标题 2 Block),5(Heading3 标题 3 Block),6(Heading4 标题 4 Block),7(Heading5 标题 5 Block),8(Heading6 标题 6 Block),9(Heading7 标题 7 Block),10(Heading8 标题 8 Block),11(Heading9 标题 9 Block),12(Bullet 无序列表 Block),13(Ordered 有序列表 Block),14(Code 代码块 Block),15(Quote 引用 Block),17(Todo 待办事项 Block),18(Bitable 多维表格 Block),19(Callout 高亮块 Block),20(ChatCard 会话卡片 Block),21(Diagram 流程图 & UML Block),22(Divider 分割线 Block),23(File 文件 Block),24(Grid 分栏 Block),25(GridColumn 分栏列 Block),26(Iframe 内嵌 Block Block),27(Image 图片 Block),28(ISV 开放平台小组件 Block),29(Mindnote 思维笔记 Block),30(Sheet 电子表格 Block),31(Table 表格 Block),32(TableCell 表格单元格 Block),33(View 视图 Block),34(QuoteContainer 引用容器 Block),35(Task 任务 Block),36(Okr OKR Block),37(OkrObjective OKR Objective),38(OkrKeyResult OKR Key Result),39(OkrProgress OKR 进展),40(AddOns 文档小组件),41(JiraIssue Jira Issue),42(WikiCatalog Wiki 子目录 Block),43(Board 画板 Block),44(Agenda 议程 Block),45(AgendaItem 议程项 Block),46(AgendaItemTitle 议程项标题 Block),47(AgendaItemContent 议程项内容 Block),48(LinkPreview 链接预览 Block),49(SourceSynced 源同步块),50(ReferenceSynced 引用同步块),999(Undefined 未支持 Block)',
            ),
          text: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading1: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading2: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading3: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading4: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading5: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading6: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading7: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading8: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          heading9: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          bullet: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          ordered: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          code: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          quote: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          equation: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          todo: z
            .object({
              style: z
                .object({
                  align: z
                    .number()
                    .describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)')
                    .optional(),
                  done: z.boolean().optional(),
                  folded: z.boolean().optional(),
                  language: z
                    .number()
                    .describe(
                      'Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro FoxPro（已废弃）),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia),32(Kotlin),33(LateX),34(Lisp),35(Logo Logo（已废弃）),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL OpenEdgeABL（已废弃）),43(PHP),44(Perl),45(PostScript PostScript（已废弃）),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG RPG（已废弃）),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch Scratch（已废弃）),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                    )
                    .optional(),
                  wrap: z.boolean().optional(),
                  background_color: z
                    .enum([
                      'LightGrayBackground',
                      'LightRedBackground',
                      'LightOrangeBackground',
                      'LightYellowBackground',
                      'LightGreenBackground',
                      'LightBlueBackground',
                      'LightPurpleBackground',
                      'PaleGrayBackground',
                      'DarkGrayBackground',
                      'DarkRedBackground',
                      'DarkOrangeBackground',
                      'DarkYellowBackground',
                      'DarkGreenBackground',
                      'DarkBlueBackground',
                      'DarkPurpleBackground',
                    ])
                    .describe(
                      'Options:LightGrayBackground(浅灰色),LightRedBackground(浅红色),LightOrangeBackground(浅橙色),LightYellowBackground(浅黄色),LightGreenBackground(浅绿色),LightBlueBackground(浅蓝色),LightPurpleBackground(浅紫色),PaleGrayBackground(淡灰色),DarkGrayBackground(深灰色),DarkRedBackground(深红色),DarkOrangeBackground(深橙色),DarkYellowBackground(深黄色),DarkGreenBackground(深绿色),DarkBlueBackground(深蓝色),DarkPurpleBackground(深紫色)',
                    )
                    .optional(),
                  indentation_level: z
                    .enum(['NoIndent', 'OneLevelIndent'])
                    .describe('Options:NoIndent(无缩进),OneLevelIndent(一级缩进)')
                    .optional(),
                })
                .optional(),
              elements: z.array(
                z.object({
                  text_run: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_user: z
                    .object({
                      user_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  mention_doc: z
                    .object({
                      token: z.string(),
                      obj_type: z
                        .number()
                        .describe(
                          'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                        ),
                      url: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  reminder: z
                    .object({
                      create_user_id: z.string(),
                      is_whole_day: z.boolean().optional(),
                      expire_time: z.string(),
                      notify_time: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  file: z
                    .object({
                      file_token: z.string().optional(),
                      source_block_id: z.string().optional(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  inline_block: z
                    .object({
                      block_id: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                  equation: z
                    .object({
                      content: z.string(),
                      text_element_style: z
                        .object({
                          bold: z.boolean().optional(),
                          italic: z.boolean().optional(),
                          strikethrough: z.boolean().optional(),
                          underline: z.boolean().optional(),
                          inline_code: z.boolean().optional(),
                          background_color: z
                            .number()
                            .describe(
                              'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                            )
                            .optional(),
                          text_color: z
                            .number()
                            .describe(
                              'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                            )
                            .optional(),
                          link: z.object({ url: z.string() }).optional(),
                          comment_ids: z.array(z.string()).optional(),
                        })
                        .optional(),
                    })
                    .optional(),
                }),
              ),
            })
            .optional(),
          bitable: z
            .object({ view_type: z.number().describe('Options:1(Grid 数据表),2(Kanban 看板)').optional() })
            .optional(),
          callout: z
            .object({
              background_color: z
                .number()
                .describe(
                  'Options:1(LightRed 浅红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightNeutral 浅灰色),8(DarkRed 暗红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkNeutral 暗灰色),15(DarkSlightGray 暗银灰色)',
                )
                .optional(),
              border_color: z
                .number()
                .describe(
                  'Options:1(Red 红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Neutral 灰色)',
                )
                .optional(),
              text_color: z
                .number()
                .describe(
                  'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                )
                .optional(),
            })
            .optional(),
          chat_card: z
            .object({
              chat_id: z.string(),
              align: z.number().describe('Options:1(Left ),2(Center ),3(Right )').optional(),
            })
            .optional(),
          divider: z.record(z.any()).optional(),
          file: z
            .object({ view_type: z.number().describe('Options:1(Card 卡片视图),2(Preview 预览视图)').optional() })
            .optional(),
          grid: z.object({ column_size: z.number() }).optional(),
          grid_column: z.record(z.any()).optional(),
          iframe: z
            .object({
              component: z.object({
                iframe_type: z
                  .number()
                  .describe(
                    'Options:1(Bilibili 哔哩哔哩),2(XiGua 西瓜视频),3(Youku 优酷),4(Airtable),5(BaiduMap 百度地图),6(Amap 高德地图),7(TikTok Undefined),8(Figma),9(Modao 墨刀),10(Canva),11(CodePen),12(FeiShuWenJuan 飞书问卷),13(JinShuJu 金数据),14(GoogleMap Undefined),15(Youtube Undefined),99(Other)',
                  )
                  .optional(),
                url: z.string(),
              }),
            })
            .optional(),
          image: z
            .object({
              align: z.number().describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)').optional(),
            })
            .optional(),
          isv: z.record(z.any()).optional(),
          add_ons: z
            .object({
              component_id: z.string().optional(),
              component_type_id: z.string(),
              record: z.string().optional(),
            })
            .optional(),
          sheet: z.object({ row_size: z.number().optional(), column_size: z.number().optional() }).optional(),
          table: z
            .object({
              property: z.object({
                row_size: z.number(),
                column_size: z.number(),
                column_width: z.array(z.number()).optional(),
                merge_info: z
                  .array(z.object({ row_span: z.number().optional(), col_span: z.number().optional() }))
                  .optional(),
                header_row: z.boolean().optional(),
                header_column: z.boolean().optional(),
              }),
            })
            .optional(),
          table_cell: z.record(z.any()).optional(),
          view: z.record(z.any()).optional(),
          quote_container: z.record(z.any()).optional(),
          task: z.object({ folded: z.boolean().optional() }).optional(),
          okr: z
            .object({
              okr_id: z.string().optional(),
              objectives: z
                .array(z.object({ objective_id: z.string().optional(), kr_ids: z.array(z.string()).optional() }))
                .optional(),
            })
            .optional(),
          comment_ids: z.array(z.string()).optional(),
          wiki_catalog: z.object({ wiki_token: z.string().optional() }).optional(),
          board: z
            .object({
              align: z.number().describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)').optional(),
              width: z.number().optional(),
              height: z.number().optional(),
            })
            .optional(),
          link_preview: z
            .object({
              url: z.string(),
              url_type: z
                .enum(['MessageLink', 'Undefined'])
                .describe('Options:MessageLink(消息链接),Undefined(未定义的链接类型)'),
            })
            .optional(),
          source_synced: z
            .object({
              elements: z
                .array(
                  z.object({
                    text_run: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_user: z
                      .object({
                        user_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    mention_doc: z
                      .object({
                        token: z.string(),
                        obj_type: z
                          .number()
                          .describe(
                            'Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                          ),
                        url: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    reminder: z
                      .object({
                        create_user_id: z.string(),
                        is_whole_day: z.boolean().optional(),
                        expire_time: z.string(),
                        notify_time: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    file: z
                      .object({
                        file_token: z.string().optional(),
                        source_block_id: z.string().optional(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    inline_block: z
                      .object({
                        block_id: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                    equation: z
                      .object({
                        content: z.string(),
                        text_element_style: z
                          .object({
                            bold: z.boolean().optional(),
                            italic: z.boolean().optional(),
                            strikethrough: z.boolean().optional(),
                            underline: z.boolean().optional(),
                            inline_code: z.boolean().optional(),
                            background_color: z
                              .number()
                              .describe(
                                'Options:1(LightPink 浅粉红色),2(LightOrange 浅橙色),3(LightYellow 浅黄色),4(LightGreen 浅绿色),5(LightBlue 浅蓝色),6(LightPurple 浅紫色),7(LightGray 浅灰色),8(DarkPink 暗粉红色),9(DarkOrange 暗橙色),10(DarkYellow 暗黄色),11(DarkGreen 暗绿色),12(DarkBlue 暗蓝色),13(DarkPurple 暗紫色),14(DarkGray 暗灰色),15(DarkSlightGray 暗银灰色)',
                              )
                              .optional(),
                            text_color: z
                              .number()
                              .describe(
                                'Options:1(Pink 粉红色),2(Orange 橙色),3(Yellow 黄色),4(Green 绿色),5(Blue 蓝色),6(Purple 紫色),7(Gray 灰色)',
                              )
                              .optional(),
                            link: z.object({ url: z.string() }).optional(),
                            comment_ids: z.array(z.string()).optional(),
                          })
                          .optional(),
                      })
                      .optional(),
                  }),
                )
                .optional(),
              align: z.number().describe('Options:1(Left 居左排版),2(Center 居中排版),3(Right 居右排版)').optional(),
            })
            .optional(),
          reference_synced: z
            .object({ source_document_id: z.string().optional(), source_block_id: z.string().optional() })
            .optional(),
        }),
      ),
    }),
    params: z.object({
      document_revision_id: z.number().optional(),
      client_token: z.string().optional(),
      user_id_type: z.enum(['user_id', 'union_id', 'open_id']).describe('User ID type').optional(),
    }),
    path: z.object({ document_id: z.string(), block_id: z.string() }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockGet = {
  project: 'docx',
  name: 'docx.v1.documentBlock.get',
  sdkName: 'docx.v1.documentBlock.get',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Obtain the block content-Query the rich text content of the specified block',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the query, -1 indicates the latest version of the document. If the version of the query at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the query at this time is the historical version of the document, you need to hold the editing permission of the document',
        )
        .optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
      block_id: z.string().describe("Block's unique identity"),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockList = {
  project: 'docx',
  name: 'docx.v1.documentBlock.list',
  sdkName: 'docx.v1.documentBlock.list',
  path: '/open-apis/docx/v1/documents/:document_id/blocks',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Docs-Document-Document-Obtain all blocks of a document-Perform a deep traversal of all blocks in the specified document and return them in pagination',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      page_size: z.number().optional(),
      page_token: z.string().optional(),
      document_revision_id: z
        .number()
        .describe(
          'The document version of the query, -1 indicates the latest version of the document. If the version of the query at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the query at this time is the historical version of the document, you need to hold the editing permission of the document',
        )
        .optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentBlockPatch = {
  project: 'docx',
  name: 'docx.v1.documentBlock.patch',
  sdkName: 'docx.v1.documentBlock.patch',
  path: '/open-apis/docx/v1/documents/:document_id/blocks/:block_id',
  httpMethod: 'PATCH',
  description:
    '[Feishu/Lark]-Docs-Document-Block-Update a block-Updates the specified block and returns its updated rich text content',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      update_text_elements: z
        .object({
          elements: z
            .array(
              z.object({
                text_run: z
                  .object({
                    content: z.string().describe('Text content'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text local style')
                      .optional(),
                  })
                  .describe('Text')
                  .optional(),
                mention_user: z
                  .object({
                    user_id: z.string().describe('User OpenID'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('@User')
                  .optional(),
                mention_doc: z
                  .object({
                    token: z.string().describe('Cloud document token'),
                    obj_type: z
                      .number()
                      .describe(
                        'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                      ),
                    url: z.string().describe('Cloud document link (url_encode)'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('@Document')
                  .optional(),
                reminder: z
                  .object({
                    create_user_id: z.string().describe('Creator user ID'),
                    is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                    expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Date Reminder')
                  .optional(),
                file: z
                  .object({
                    file_token: z.string().describe('Attachment token').optional(),
                    source_block_id: z
                      .string()
                      .describe('The id of the block in which the attachment is located in the current document')
                      .optional(),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Internal connection accessories')
                  .optional(),
                inline_block: z
                  .object({
                    block_id: z.string().describe('Block ID'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Inline block')
                  .optional(),
                equation: z
                  .object({
                    content: z
                      .string()
                      .describe(
                        'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                      ),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Equation')
                  .optional(),
              }),
            )
            .describe(
              'Updated text element list, a single update reminder limit of 30, mention_doc limit of 50, mention_user limit of 100',
            ),
        })
        .describe('Update text element request')
        .optional(),
      update_text_style: z
        .object({
          style: z
            .object({
              align: z
                .number()
                .describe(
                  'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                )
                .optional(),
              done: z.boolean().describe('Todo completion status').optional(),
              folded: z.boolean().describe('Folded state of text').optional(),
              language: z
                .number()
                .describe(
                  'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                )
                .optional(),
              wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
            })
            .describe('Text style'),
          fields: z
            .array(
              z
                .number()
                .describe(
                  'Options:1(align Modify Block Alignment),2(done Modify todo block completion status),3(folded Modify the folded state of the block),4(language Modify the language type of the code block),5(wrap Modify the collapsed state of code blocks)',
                ),
            )
            .describe(
              'Fields that should be updated must specify at least one field. For example, to adjust Block alignment, set fields to [1]',
            ),
        })
        .describe('Update text style request')
        .optional(),
      update_table_property: z
        .object({
          column_width: z.number().describe('Table column width'),
          column_index: z.number().describe('Index of table columns whose column width needs to be modified'),
        })
        .describe('Update table property request')
        .optional(),
      insert_table_row: z
        .object({
          row_index: z
            .number()
            .describe('The index of the inserted row in the table. (-1 means to insert a row at the end of the table)'),
        })
        .describe('Table insert new row request')
        .optional(),
      insert_table_column: z
        .object({
          column_index: z
            .number()
            .describe(
              'The index of the inserted column in the table. (-1 means to insert a column at the end of the table)',
            ),
        })
        .describe('Table insert new column request')
        .optional(),
      delete_table_rows: z
        .object({
          row_start_index: z.number().describe('Row start index (interval closed left and right open)'),
          row_end_index: z.number().describe('Row end index (interval closed left and right open)'),
        })
        .describe('Table batch delete row request')
        .optional(),
      delete_table_columns: z
        .object({
          column_start_index: z.number().describe('Column start index (interval closed left and right open)'),
          column_end_index: z.number().describe('Column end index (interval closed left and right open)'),
        })
        .describe('Table batch delete column request')
        .optional(),
      merge_table_cells: z
        .object({
          row_start_index: z.number().describe('Row start index (interval closed left and right open)'),
          row_end_index: z.number().describe('Row end index (interval closed left and right open)'),
          column_start_index: z.number().describe('Column start index (interval closed left and right open)'),
          column_end_index: z.number().describe('Column end index (interval closed left and right open)'),
        })
        .describe('Table merge cell request')
        .optional(),
      unmerge_table_cells: z
        .object({
          row_index: z.number().describe('Table row index'),
          column_index: z.number().describe('Table column index'),
        })
        .describe('Table Cancel Cell Merge Status Request')
        .optional(),
      insert_grid_column: z
        .object({
          column_index: z
            .number()
            .describe(
              'Insert the column index, starting from 1, such as 1 means inserting after the first column, note that 0 is not allowed (-1 means inserting after the last column)',
            ),
        })
        .describe('Column insert new column request')
        .optional(),
      delete_grid_column: z
        .object({
          column_index: z
            .number()
            .describe(
              'Delete the column index, starting from 0, if 0 means deleting the first column (-1 means deleting the last column)',
            ),
        })
        .describe('Column deletion request')
        .optional(),
      update_grid_column_width_ratio: z
        .object({
          width_ratios: z
            .array(z.number())
            .describe('When updating the column width ratio, you need to pass in all column width ratios'),
        })
        .describe('Update column width ratio request')
        .optional(),
      replace_image: z
        .object({ token: z.string().describe('Picture token') })
        .describe('Replace image request')
        .optional(),
      replace_file: z
        .object({ token: z.string().describe('Attachment token') })
        .describe('Request for replacement attachment')
        .optional(),
      update_text: z
        .object({
          elements: z
            .array(
              z.object({
                text_run: z
                  .object({
                    content: z.string().describe('Text content'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text local style')
                      .optional(),
                  })
                  .describe('Text')
                  .optional(),
                mention_user: z
                  .object({
                    user_id: z.string().describe('User OpenID'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('@User')
                  .optional(),
                mention_doc: z
                  .object({
                    token: z.string().describe('Cloud document token'),
                    obj_type: z
                      .number()
                      .describe(
                        'Cloud Document Type Options:1(Doc),3(Sheet),8(Bitable),11(MindNote),12(File),15(Slide),16(Wiki),22(Docx)',
                      ),
                    url: z.string().describe('Cloud document link (url_encode)'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('@Document')
                  .optional(),
                reminder: z
                  .object({
                    create_user_id: z.string().describe('Creator user ID'),
                    is_whole_day: z.boolean().describe('Is it the date or the hour?').optional(),
                    expire_time: z.string().describe('Time the event occurred (millisecond timestamp)'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Date Reminder')
                  .optional(),
                file: z
                  .object({
                    file_token: z.string().describe('Attachment token').optional(),
                    source_block_id: z
                      .string()
                      .describe('The id of the block in which the attachment is located in the current document')
                      .optional(),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Internal connection accessories')
                  .optional(),
                inline_block: z
                  .object({
                    block_id: z.string().describe('Block ID'),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Inline block')
                  .optional(),
                equation: z
                  .object({
                    content: z
                      .string()
                      .describe(
                        'Equation content that conforms to KaTeX syntax, please refer to the syntax rules: https://katex.org/docs/supported.html',
                      ),
                    text_element_style: z
                      .object({
                        bold: z.boolean().describe('Bold').optional(),
                        italic: z.boolean().describe('Italic').optional(),
                        strikethrough: z.boolean().describe('Strikeout line').optional(),
                        underline: z.boolean().describe('Underline').optional(),
                        inline_code: z.boolean().describe('Inline code').optional(),
                        background_color: z
                          .number()
                          .describe(
                            'Background color Options:1(LightPink Light pink),2(LightOrange Light orange),3(LightYellow Light yellow),4(LightGreen Light green),5(LightBlue Light blue),6(LightPurple Light purple),7(LightGray Light grey),8(DarkPink Dark pink),9(DarkOrange Dark orange),10(DarkYellow Dark yellow),11(DarkGreen Dark green),12(DarkBlue Dark blue),13(DarkPurple Dark purple),14(DarkGray Dark gray),15(DarkSlightGray Dark slight gray)',
                          )
                          .optional(),
                        text_color: z
                          .number()
                          .describe(
                            'Font color Options:1(Pink),2(Orange),3(Yellow),4(Green),5(Blue),6(Purple),7(Gray Grey)',
                          )
                          .optional(),
                        link: z
                          .object({
                            url: z.string().describe('The url pointed to by hyperlinke (requires url_encode)'),
                          })
                          .describe('Link')
                          .optional(),
                        comment_ids: z
                          .array(z.string())
                          .describe(
                            'Comments ID list. When creating a Block, incoming comments ID are not supported. When updating the Element of a text Block, it is allowed to move the existing comment ID of the corresponding version to any Element in the same Block, but does not support incoming new comments ID. For comment content, please see:「」',
                          )
                          .optional(),
                      })
                      .describe('Text element style')
                      .optional(),
                  })
                  .describe('Equation')
                  .optional(),
              }),
            )
            .describe(
              'Updated list of text elements, up to 30 reminders, up to 50 mention_doc, and up to 100 mention_user in a single update',
            ),
          style: z
            .object({
              align: z
                .number()
                .describe(
                  'Alignment Options:1(Left Left typesetting),2(Center Centered typesetting),3(Right Right typesetting)',
                )
                .optional(),
              done: z.boolean().describe('Todo completion status').optional(),
              folded: z.boolean().describe('Folded state of text').optional(),
              language: z
                .number()
                .describe(
                  'Code block language Options:1(PlainText),2(ABAP),3(Ada),4(Apache),5(Apex),6(AssemblyLanguage Assembly Language),7(Bash),8(CSharp),9(CPlusPlus C++),10(C),11(COBOL),12(CSS),13(CoffeeScript),14(D),15(Dart),16(Delphi),17(Django),18(Dockerfile),19(Erlang),20(Fortran),21(FoxPro),22(Go),23(Groovy),24(HTML),25(HTMLBars),26(HTTP),27(Haskell),28(JSON),29(Java),30(JavaScript),31(Julia Julia.),32(Kotlin),33(LateX),34(Lisp),35(Logo),36(Lua),37(MATLAB),38(Makefile),39(Markdown),40(Nginx),41(ObjectiveC Objective-C),42(OpenEdgeABL),43(PHP),44(Perl),45(PostScript),46(PowerShell Power Shell),47(Prolog),48(ProtoBuf),49(Python),50(R),51(RPG),52(Ruby),53(Rust),54(SAS),55(SCSS),56(SQL),57(Scala),58(Scheme),59(Scratch),60(Shell),61(Swift),62(Thrift),63(TypeScript),64(VBScript),65(VisualBasic Visual Basic),66(XML),67(YAML),68(CMake),69(Diff),70(Gherkin),71(GraphQL),72(OpenGLShadingLanguage OpenGL Shading Language),73(Properties),74(Solidity),75(TOML)',
                )
                .optional(),
              wrap: z.boolean().describe('Whether the code block wraps automatically').optional(),
            })
            .describe('Updated text style'),
          fields: z
            .array(
              z
                .number()
                .describe(
                  'Options:1(align Modify the alignment of blocks),2(done Modify the completion status of the todo block),3(folded Modify the collapsed state of the block),4(language Modify the language type of the code block),5(wrap Modify the collapsed state of the code block)',
                ),
            )
            .describe(
              'Fields in the text style that should be updated must specify at least one field. For example, to adjust Block alignment, set fields to [1]',
            ),
        })
        .describe('Update text elements and style requests')
        .optional(),
    }),
    params: z.object({
      document_revision_id: z
        .number()
        .describe(
          'The document version of the operation, -1 indicates the latest version of the document. If the version of the operation at this time is the latest version of the document, you need to hold the view permission of the document; if the version of the operation at this time is the historical version of the document, you need to hold the edit permission of the document',
        )
        .optional(),
      client_token: z
        .string()
        .describe(
          'The unique identifier of the operation, corresponding to the client_token of the interface return value, is used for idempotent update operations. This value is null to indicate that a new request will be initiated, and this value is not null to indicate idempotent update operations',
        )
        .optional(),
      user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'Unique identification of the document. Corresponding to the token of the Upgraded Docs, ',
        ),
      block_id: z.string().describe("Block's unique identity"),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentCreate = {
  project: 'docx',
  name: 'docx.v1.document.create',
  sdkName: 'docx.v1.document.create',
  path: '/open-apis/docx/v1/documents',
  httpMethod: 'POST',
  description:
    '[Feishu/Lark]-Docs-Document-Document-Create a document-Create a document whose type is `docx`. This API supports specifying the document title and the folder where the document is to be located',
  accessTokens: ['tenant', 'user'],
  schema: {
    data: z.object({
      folder_token: z
        .string()
        .describe(
          'Specify the token of the folder where the document is located. For how to get the token, refer to . Empty means the root directory. If the application is using the `tenant_access_token`, you can only specify folders created by the application',
        )
        .optional(),
      title: z.string().describe('Document title. Only supports plain text').optional(),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentGet = {
  project: 'docx',
  name: 'docx.v1.document.get',
  sdkName: 'docx.v1.document.get',
  path: '/open-apis/docx/v1/documents/:document_id',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Docs-Document-Document-Obtain the basic information of a document-Obtains the document title and the latest revision ID',
  accessTokens: ['tenant', 'user'],
  schema: {
    path: z.object({
      document_id: z
        .string()
        .describe(
          'The unique identification of the document. Click  to learn how to get `document_id`',
        ),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1DocumentRawContent = {
  project: 'docx',
  name: 'docx.v1.document.rawContent',
  sdkName: 'docx.v1.document.rawContent',
  path: '/open-apis/docx/v1/documents/:document_id/raw_content',
  httpMethod: 'GET',
  description:
    '[Feishu/Lark]-Docs-Document-Document-Obtain the plain text content of the document-Obtains the plain text content of the document',
  accessTokens: ['tenant', 'user'],
  schema: {
    params: z.object({
      lang: z
        .number()
        .describe(
          'Specifies the language of the MentionUser (@user) text. Options:0(ZH Default name for the user. Example: @张敏),1(EN English name for the user. Example: @Min Zhang),2(JP This enumeration is not currently supported. When used, the default name for the user will be returned)',
        )
        .optional(),
    }),
    path: z.object({
      document_id: z
        .string()
        .describe(
          'The unique identification of the document. Click  to learn how to get `document_id`',
        ),
    }),
    useUAT: z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
  },
};
export const docxV1Tools = [
  docxV1ChatAnnouncementBlockBatchUpdate,
  docxV1ChatAnnouncementBlockChildrenBatchDelete,
  docxV1ChatAnnouncementBlockChildrenCreate,
  docxV1ChatAnnouncementBlockChildrenGet,
  docxV1ChatAnnouncementBlockGet,
  docxV1ChatAnnouncementBlockList,
  docxV1ChatAnnouncementGet,
  docxV1DocumentBlockBatchUpdate,
  docxV1DocumentBlockChildrenBatchDelete,
  docxV1DocumentBlockChildrenCreate,
  docxV1DocumentBlockChildrenGet,
  docxV1DocumentBlockDescendantCreate,
  docxV1DocumentBlockGet,
  docxV1DocumentBlockList,
  docxV1DocumentBlockPatch,
  docxV1DocumentCreate,
  docxV1DocumentGet,
  docxV1DocumentRawContent,
];
